... <看更多>
「verilog generate」的推薦目錄:
- 關於verilog generate 在 Re: [問題] verilog - 看板Electronics - 批踢踢實業坊 的評價
- 關於verilog generate 在 Using a generate with for loop in verilog - Stack Overflow 的評價
- 關於verilog generate 在 Verilog Tutorial 10 -- Generate Blocks - YouTube 的評價
- 關於verilog generate 在 Where to use generate statement in Verilog & Systemverilog 的評價
- 關於verilog generate 在 Verilog Generator of Neural Net Digit Detector for FPGA - GitHub 的評價
- 關於verilog generate 在 How to generate random numbers in Verilog? - GitHub Pages 的評價
- 關於verilog generate 在 System-verilog generate module instances and pass input ... 的評價
verilog generate 在 Verilog Generator of Neural Net Digit Detector for FPGA - GitHub 的推薦與評價
It's the project which train neural net to detect dark digits on light background. Then neural net converted to verilog HDL representation using several ... ... <看更多>
verilog generate 在 How to generate random numbers in Verilog? - GitHub Pages 的推薦與評價
How to generate random numbers in Verilog? Verilog has a system call ( $random ) that handles this. It returns a signed 32 bit integer. ... <看更多>
verilog generate 在 System-verilog generate module instances and pass input ... 的推薦與評價
You cannot instantiate a module instance inside an always block. You choices are to move the synchronous logic inside MyUnit or flop the output MyUnit at ... ... <看更多>
verilog generate 在 Re: [問題] verilog - 看板Electronics - 批踢踢實業坊 的推薦與評價
※ 引述《ccjin (半年之後你會變怎樣)》之銘言:
: 標題: [問題] verilog
: 時間: Thu May 12 00:49:58 2011
:
:
: 目前手邊沒有工具
: case裡面很多有規則的數字
: 我想用for loop取代
: 以下這種語法會有錯 可合成嗎
: 下面大概寫一下概念
: 謝謝
:
:
: input wire [(CH_WIDTH-1):0] rch [(CH_NUM-1):0]=0;
: input wire [(CH_WIDTH-1):0] gch [(CH_NUM-1):0]=0;
: input wire [(CH_WIDTH-1):0] bch [(CH_NUM-1):0]=0;
:
: reg [(CH_WIDTH-1):0] rch1;
: reg [(CH_WIDTH-1):0] gch1;
: reg [(CH_WIDTH-1):0] bch1;
:
:
: genvar i;
: generate
: always @(posedge clk)
: begin
: case(select)
: for (i=0; i < CH_NUM; i=i+1)
: begin:
: i:
: begin
: rch1 <= #DLY rch[i];
: gch1 <= #DLY gch[i];
: bch1 <= #DLY bch[i];
: end
: end
: endcase
: end
: endgenerate
:
: --
: ※ 發信站: 批踢踢實業坊(ptt.cc)
: ◆ From: 123.195.15.55
: 推 zxvc:loop generate與procedural loop的for是兩種不同概念的for。 05/12 08:14
: → zxvc:它們所用的indexing variables宣告方式也不同。 05/12 08:15
loop generate的indexing variables要用genvar宣告,
procedural loop一般用integer宣告。
要寫出可合成的for loop要把握"迭代次數是常數"的原則。
原po的case的語法就有問題,Verilog的標準應該不允許這種case, for語法。
又原po的input有unpacked的維度,這在SystemVerilog才支援的。
原po看來想寫的是個多工器後面接flip-flop,可以這樣寫:
module t
#(
parameter CH_WIDTH = 5,
parameter CH_NUM = 4,
parameter SEL_WIDTH = 2
)
(
output logic [(CH_WIDTH-1):0] rch1,
input [(CH_WIDTH-1):0] rch [(CH_NUM-1):0],
input [SEL_WIDTH-1:0] select,
input clock
);
always_ff@(posedge clock) begin
rch1 <= rch[select];
end
endmodule
此code已用Precision RTL 2010a合成過。
--
信佛的人要知道:佛絕不會說謊。但請把握時光。
法滅盡經:
https://www.cbeta.org/result/normal/T12/0396_001.htm
共勉之。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.221.79
... <看更多>